package com.ruoyi.vbze.mapper;

import java.util.List;
import com.ruoyi.vbze.domain.Plant;
import com.ruoyi.vbze.domain.Leaf;

/**
 * 植株管理Mapper接口
 * 
 * @author vbze
 * @date 2023-02-22
 */
public interface PlantMapper 
{
    /**
     * 查询植株管理
     * 
     * @param id 植株管理主键
     * @return 植株管理
     */
    public Plant selectPlantById(Long id);

    /**
     * 查询植株管理列表
     * 
     * @param plant 植株管理
     * @return 植株管理集合
     */
    public List<Plant> selectPlantList(Plant plant);

    /**
     * 新增植株管理
     * 
     * @param plant 植株管理
     * @return 结果
     */
    public int insertPlant(Plant plant);

    /**
     * 修改植株管理
     * 
     * @param plant 植株管理
     * @return 结果
     */
    public int updatePlant(Plant plant);

    /**
     * 删除植株管理
     * 
     * @param id 植株管理主键
     * @return 结果
     */
    public int deletePlantById(Long id);

    /**
     * 批量删除植株管理
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deletePlantByIds(Long[] ids);

    /**
     * 批量删除叶片管理
     * 
     * @param plantNumbers 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteLeafByPlantNumbers(String[] plantNumbers);
    
    /**
     * 批量新增叶片管理
     * 
     * @param leafList 叶片管理列表
     * @return 结果
     */
    public int batchLeaf(List<Leaf> leafList);
    

    /**
     * 通过植株编号删除叶片管理信息
     * 
     * @param plantNumber 植株编号
     * @return 结果
     */
    public int deleteLeafByPlantNumber(String plantNumber);


    public String[] selectPlantNumbersByIds(Long[] ids);

    /**
     * 通过植株编号查询植株
     *
     * @param plantNumber 地块编号
     * @return 地块对象信息
     */
    public Plant selectPlantByPlantNumber(String plantNumber);
}
